package pl.edu.pk.psb.bc.bo;

import java.util.Calendar;
import java.util.List;

import pl.edu.pk.psb.bc.ds.CenaDs;
import pl.edu.pk.psb.bc.ds.CzasPrzejazduDs;
import pl.edu.pk.psb.bc.ds.OdlegloscDs;
import pl.edu.pk.psb.bc.ds.PolaczenieDs;
import pl.edu.pk.psb.bc.ds.PrzystanekDs;
import pl.edu.pk.psb.bc.dto.PolaczenieDto;
import pl.edu.pk.psb.bc.util.ZnalezionePolaczenie;

public interface WyszukiwarkaPolaczenBo {
	
	public List<ZnalezionePolaczenie> znajdzBezPrzesiadki(String miastoOd, String miastoDo, int dzien, int liczbaPrzesiadek);
	
	public List<ZnalezionePolaczenie> znajdzNajszybszePolaczenie(String miastoOd, String miastoDo, int dzien, int liczbaPrzesiadek);
	
	public List<ZnalezionePolaczenie> znajdzNajktorszePolaczenie(String miastoOd, String miastoDo, int dzien, int liczbaPrzesiadek);

	public List<ZnalezionePolaczenie> znajdzNajtanszePolaczenie(String miastoOd, String miastoDo, int dzien, int liczbaPrzesiadek);

	public List<PrzystanekDs> pobierzPrzystanek(String miastoPocz);

	public List<PolaczenieDs> pobierzPolaczenia(PrzystanekDs pPocz);

	public List<OdlegloscDs> pobierzPrzystankiPolaczoneOdleglosci(
			PrzystanekDs przystanek);

	public List<CenaDs> pobierzPrzystankiPolaczoneCeny(PrzystanekDs przystanek);

	public List<PolaczenieDs> pobierzPolaczeniaGodz(PrzystanekDs przystanek,
			Calendar godzinaPrzyjazdu);

	public OdlegloscDs pobierzOdleglosc(PrzystanekDs pPocz, PrzystanekDs pKonc);

	public CenaDs pobierzCene(PrzystanekDs pPocz, PrzystanekDs pKonc);

	public List<CzasPrzejazduDs> pobierzPrzystankiPolaczoneCzasy(
			PrzystanekDs przystanek);

	public CzasPrzejazduDs pobierzCzas(PrzystanekDs pPocz, PrzystanekDs pKonc);
}
